package com.chapter4.jicheng;


/**
 * 1.Fish继承了Animal，可以使用Animal中的非私有方法
 * 2.Fish可以重写父类中的方法
 * 3.Fish也可以定义自己的方法
 * 4.在创建子类时会先调用父类构造方法，再调用子类构造方法
 */
public class Fish extends Animal{
    Fish(){
        System.out.println("Fish 构造方法");
    }

    //重写父类方法
    void breathe(){
        System.out.println("Fish breathe");
    }

    //子类定义自己的方法
    void swim(){
        System.out.println("Fish swim");
    }


    public static void main(String[] args) {
        Animal animal = new Animal();   //Animal 构造方法
        animal.breathe();   // Animal breathe

        //在创建子类对象时，会先调用父类的构造方法，再调用子类构造方法
        Fish fish = new Fish();   //Animal 构造方法   Fish 构造方法
        fish.eat();       // 子类没有eat方法继承父类  Animal eat
        fish.breathe();  // 子类重写父类方法调用子类方法  Fish breathe
        fish.swim();     //子类定义自己的方法 Fish swim

    }

}